home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / Ecore_Evas.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-01-09  |  8.6 KB  |  193 lines

  1. #ifndef _ECORE_EVAS_H
  2. #define _ECORE_EVAS_H
  3.  
  4. #ifdef EAPI
  5. #undef EAPI
  6. #endif
  7. #ifdef WIN32
  8. # ifdef BUILDING_DLL
  9. #  define EAPI __declspec(dllexport)
  10. # else
  11. #  define EAPI __declspec(dllimport)
  12. # endif
  13. #else
  14. # ifdef __GNUC__
  15. #  if __GNUC__ >= 4
  16. #   define EAPI __attribute__ ((visibility("default")))
  17. #  else
  18. #   define EAPI
  19. #  endif
  20. # else
  21. #  define EAPI
  22. # endif
  23. #endif
  24.  
  25. /**
  26.  * @file Ecore_Evas.h
  27.  * @brief Evas wrapper functions
  28.  */
  29.  
  30. /* FIXME:
  31.  * to do soon:
  32.  * - iconfication api needs to work
  33.  * - maximization api nees to work
  34.  * - document all calls
  35.  * 
  36.  * later:
  37.  * - buffer back-end that renders to an evas_image_object ???
  38.  * - qt back-end ???
  39.  * - dfb back-end ??? (dfb's threads make this REALLY HARD)
  40.  */
  41.  
  42. #include <Evas.h>
  43.  
  44. #ifdef __cplusplus
  45. extern "C" {
  46. #endif
  47.  
  48. /* these are dummy and just tell u what API levels ecore_evas supports - not if
  49.  * the actual support is compiled in. you need to query for that separately.
  50.  */
  51. #define HAVE_ECORE_EVAS_X 1
  52. #define HAVE_ECORE_EVAS_FB 1
  53. #define HAVE_ECORE_EVAS_GL 1
  54. #define HAVE_ECORE_EVAS_DIRECTFB 1
  55.  
  56. typedef enum
  57. {
  58.    ECORE_EVAS_ENGINE_SOFTWARE_X11,
  59.    ECORE_EVAS_ENGINE_SOFTWARE_FB,
  60.    ECORE_EVAS_ENGINE_GL_X11,
  61.    ECORE_EVAS_ENGINE_SOFTWARE_BUFFER,
  62.    ECORE_EVAS_ENGINE_XRENDER_X11,
  63.    ECORE_EVAS_ENGINE_DIRECTFB
  64. } Ecore_Evas_Engine_Type;
  65.  
  66. #ifndef _ECORE_X_H
  67. #define _ECORE_X_WINDOW_PREDEF
  68. typedef unsigned int Ecore_X_Window;
  69. #endif
  70.    
  71. #ifndef _ECORE_DIRECTFB_H
  72. #define _ECORE_DIRECTFB_WINDOW_PREDEF
  73. typedef void Ecore_DirectFB_Window;
  74. #endif
  75.    
  76. #ifndef _ECORE_EVAS_PRIVATE_H
  77. /* basic data types */
  78. typedef void Ecore_Evas;
  79. #endif
  80.  
  81. /* module setup/shutdown calls */
  82.  
  83. EAPI int         ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine);
  84.        
  85. EAPI int         ecore_evas_init(void);
  86. EAPI int         ecore_evas_shutdown(void);
  87.  
  88. /* engine/target specific init calls */
  89. EAPI Ecore_Evas     *ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
  90. EAPI Ecore_X_Window  ecore_evas_software_x11_window_get(Ecore_Evas *ee);
  91. EAPI Ecore_X_Window  ecore_evas_software_x11_subwindow_get(Ecore_Evas *ee);
  92. EAPI void            ecore_evas_software_x11_direct_resize_set(Ecore_Evas *ee, int on);
  93. EAPI int             ecore_evas_software_x11_direct_resize_get(Ecore_Evas *ee);
  94. EAPI void            ecore_evas_software_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
  95.    
  96. EAPI Ecore_Evas     *ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
  97. EAPI Ecore_X_Window  ecore_evas_gl_x11_window_get(Ecore_Evas *ee);
  98. EAPI Ecore_X_Window  ecore_evas_gl_x11_subwindow_get(Ecore_Evas *ee);
  99. EAPI void            ecore_evas_gl_x11_direct_resize_set(Ecore_Evas *ee, int on);
  100. EAPI int             ecore_evas_gl_x11_direct_resize_get(Ecore_Evas *ee);
  101. EAPI void            ecore_evas_gl_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
  102.  
  103. EAPI Ecore_Evas     *ecore_evas_xrender_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
  104. EAPI Ecore_X_Window  ecore_evas_xrender_x11_window_get(Ecore_Evas *ee);
  105. EAPI Ecore_X_Window  ecore_evas_xrender_x11_subwindow_get(Ecore_Evas *ee);
  106. EAPI void            ecore_evas_xrender_x11_direct_resize_set(Ecore_Evas *ee, int on);
  107. EAPI int             ecore_evas_xrender_x11_direct_resize_get(Ecore_Evas *ee);
  108. EAPI void            ecore_evas_xrender_x11_extra_event_window_add(Ecore_Evas *ee, Ecore_X_Window win);
  109.  
  110. EAPI Ecore_Evas     *ecore_evas_fb_new(char *disp_name, int rotation, int w, int h);
  111.  
  112. EAPI Ecore_Evas     *ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w, int h);
  113.  
  114. EAPI Ecore_Evas     *ecore_evas_buffer_new(int w, int h);
  115. EAPI const int      *ecore_evas_buffer_pixels_get(Ecore_Evas *ee);
  116.        
  117. EAPI Evas_Object    *ecore_evas_object_image_new(Ecore_Evas *ee_target);
  118.  
  119. /* generic manipulation calls */
  120. EAPI Ecore_Evas *ecore_evas_ecore_evas_get(Evas *e);
  121. EAPI void        ecore_evas_free(Ecore_Evas *ee);
  122. EAPI void       *ecore_evas_data_get(Ecore_Evas *ee, const char *key);
  123. EAPI void        ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data);
  124. EAPI void        ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  125. EAPI void        ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  126. EAPI void        ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  127. EAPI void        ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  128. EAPI void        ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  129. EAPI void        ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  130. EAPI void        ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  131. EAPI void        ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  132. EAPI void        ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  133. EAPI void        ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  134. EAPI void        ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  135. EAPI void        ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
  136. EAPI Evas       *ecore_evas_get(Ecore_Evas *ee);
  137. EAPI void        ecore_evas_move(Ecore_Evas *ee, int x, int y);
  138. EAPI void        ecore_evas_managed_move(Ecore_Evas *ee, int x, int y);
  139. EAPI void        ecore_evas_resize(Ecore_Evas *ee, int w, int h);
  140. EAPI void        ecore_evas_move_resize(Ecore_Evas *ee, int x, int y, int w, int h);
  141. EAPI void        ecore_evas_geometry_get(Ecore_Evas *ee, int *x, int *y, int *w, int *h);
  142. EAPI void        ecore_evas_rotation_set(Ecore_Evas *ee, int rot);
  143. EAPI int         ecore_evas_rotation_get(Ecore_Evas *ee);
  144. EAPI void        ecore_evas_shaped_set(Ecore_Evas *ee, int shaped);
  145. EAPI int         ecore_evas_shaped_get(Ecore_Evas *ee);
  146. EAPI void        ecore_evas_show(Ecore_Evas *ee);
  147. EAPI void        ecore_evas_hide(Ecore_Evas *ee);   
  148. EAPI int         ecore_evas_visibility_get(Ecore_Evas *ee);
  149. EAPI void        ecore_evas_raise(Ecore_Evas *ee);
  150. EAPI void        ecore_evas_lower(Ecore_Evas *ee);       
  151. EAPI void        ecore_evas_title_set(Ecore_Evas *ee, const char *t);
  152. EAPI const char *ecore_evas_title_get(Ecore_Evas *ee);
  153. EAPI void        ecore_evas_name_class_set(Ecore_Evas *ee, const char *n, const char *c);
  154. EAPI void        ecore_evas_name_class_get(Ecore_Evas *ee, const char **n, const char **c);
  155. EAPI void        ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h);
  156. EAPI void        ecore_evas_size_min_get(Ecore_Evas *ee, int *w, int *h);
  157. EAPI void        ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h);
  158. EAPI void        ecore_evas_size_max_get(Ecore_Evas *ee, int *w, int *h);
  159. EAPI void        ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h);
  160. EAPI void        ecore_evas_size_base_get(Ecore_Evas *ee, int *w, int *h);
  161. EAPI void        ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h);
  162. EAPI void        ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h);
  163. EAPI void        ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y);
  164. EAPI void        ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y);
  165. EAPI void        ecore_evas_layer_set(Ecore_Evas *ee, int layer);
  166. EAPI int         ecore_evas_layer_get(Ecore_Evas *ee);
  167. EAPI void        ecore_evas_focus_set(Ecore_Evas *ee, int on);
  168. EAPI int         ecore_evas_focus_get(Ecore_Evas *ee);
  169. EAPI void        ecore_evas_iconified_set(Ecore_Evas *ee, int on);
  170. EAPI int         ecore_evas_iconified_get(Ecore_Evas *ee);
  171. EAPI void        ecore_evas_borderless_set(Ecore_Evas *ee, int on);
  172. EAPI int         ecore_evas_borderless_get(Ecore_Evas *ee);
  173. EAPI void        ecore_evas_override_set(Ecore_Evas *ee, int on);
  174. EAPI int         ecore_evas_override_get(Ecore_Evas *ee);
  175. EAPI void        ecore_evas_maximized_set(Ecore_Evas *ee, int on);
  176. EAPI int         ecore_evas_maximized_get(Ecore_Evas *ee);
  177. EAPI void        ecore_evas_fullscreen_set(Ecore_Evas *ee, int on);
  178. EAPI int         ecore_evas_fullscreen_get(Ecore_Evas *ee);
  179. EAPI void        ecore_evas_avoid_damage_set(Ecore_Evas *ee, int on);
  180. EAPI int         ecore_evas_avoid_damage_get(Ecore_Evas *ee);
  181. EAPI void        ecore_evas_withdrawn_set(Ecore_Evas *ee, int withdrawn);
  182. EAPI int         ecore_evas_withdrawn_get(Ecore_Evas *ee);
  183. EAPI void        ecore_evas_sticky_set(Ecore_Evas *ee, int sticky);
  184. EAPI int         ecore_evas_sticky_get(Ecore_Evas *ee);
  185. EAPI void        ecore_evas_ignore_events_set(Ecore_Evas *ee, int ignore);
  186. EAPI int         ecore_evas_ignore_events_get(Ecore_Evas *ee);
  187.  
  188. #ifdef __cplusplus
  189. }
  190. #endif
  191.  
  192. #endif
  193.